10 IFPEEK(49152)+PEEK(49156)<>103THEN2000 20 POKE53269,0:POKE53277,255:POKE53271,0:FORI=0TO3:POKE53287+I,4 30 POKE2040+I,248+I:NEXT:FORI=4TO7:POKE53287+I,11:POKE2040+I,252:NEXT 40 FORI=0TO3:SYS49155,I,152+I*48,12:SYS49155,I+4,152+I*48,12:NEXT:POKE2,1 50 POKE53280,5:POKE53281,0:SYS49152 60 PRINT"[147][155] [194][207][210][196][197][210] [211][208][210][201][212][197][211] AND [211][208][210][201][212][197] [204][207][195][193][212][197][210]" 70 PRINT" [215]RITTEN BY [202].[198]INCH [211]EPT. 1988" 80 PRINT"[150] ![204]ET YOUR SPRITES BREAK FREE!" 90 PRINT"[159] [212]HE MACHINE CODE ROUTINES WILL ALLOW" 100 PRINT" YOU TO PLACE SPRITES IN THE UPPER AND" 110 PRINT" AND LOWER BORDERS AS WELL AS BEING" 120 PRINT" ABLE TO POSITION SPRITES WITHOUT [217][207][213]" 130 PRINT" HAVING TO CHANGE THE APPROPRIATE BITS" 140 PRINT" IN THE [205][211][194] REGISTER. [212]O UTILISE THE" 150 PRINT" ROUTINES FIRST SET THE VARIABLE [154][195][210][159] TO" 160 PRINT" THE START ADDRESS OF THE CODE WHICH" 170 PRINT" RESIDES BETWEEN [154]49152[159] AND [154]49467[159] INCL." 180 GOSUB1000 190 PRINT"[147][155] [194][207][210][196][197][210] [211][208][210][201][212][197][211] AND [211][208][210][201][212][197] [204][207][195][193][212][197][210]" 200 PRINT" [215]RITTEN BY [202].[198]INCH [211]EPT. 1988" 210 PRINT"[150] ![204]ET YOUR SPRITES BREAK FREE!" 220 PRINT"[154] [211][217][211] [195][210] [159]WILL ACTIVATE THE CODE ALLOWING" 230 PRINT" YOU TO GIVE YOUR SPRITES ANY [217]-COORD." 240 PRINT" BETWEEN [154]0 [159]AND [154]255[159]. [193] MESSAGE WILL" 250 PRINT" APPEAR TO INDICATE THAT IT IS NOW" 260 PRINT" ACTIVE. [217]OU CAN DISABLE THIS MESSAGE" 270 PRINT" WITH A [154][208][207][203][197] 2,1[159]. [210]EMEMBER: [201]T IS ONLY" 280 PRINT" THE UPPER AND LOWER BORDERS THAT ARE" 290 PRINT" ACCESSIBLE WITH THIS ROUTINE." 300 GOSUB1000 310 PRINT"[147][155] [194][207][210][196][197][210] [211][208][210][201][212][197][211] AND [211][208][210][201][212][197] [204][207][195][193][212][197][210]" 320 PRINT" [215]RITTEN BY [202].[198]INCH [211]EPT. 1988" 330 PRINT"[150] ![204]ET YOUR SPRITES BREAK FREE!" 340 PRINT"[154] [211][217][211] [195][210]+3,SN,X,Y [159]WILL ENABLE YOU TO" 350 PRINT" POSITION SPRITE [160][154]SN[159] AT A LOCATION ON" 360 PRINT" THE SCREEN SPECIFIED BY [154]X[159] AND [154]Y[159]. [212]HIS" 370 PRINT" WILL AUTOMATICALLY SET OR CLEAR THE" 380 PRINT" APPROPRIATE BITS IN THE [205][211][194] REGISTER." 390 PRINT"[154] "CHR$(34)"SN"CHR$(34)"[159] SHOULD BE BETWEEN 0 AND 7, [154]"CHR$(34); 400 PRINT"X"CHR$(34):PRINT"[159] BETWEEN 0 AND 360, AND [154]"CHR$(34)"Y"CHR$(34); 410 PRINT"[159] SHOULD BE A VALUE BETWEEN 0 AND 255.":GOSUB1000 420 PRINT"[147][155] [194][207][210][196][197][210] [211][208][210][201][212][197][211] AND [211][208][210][201][212][197] [204][207][195][193][212][197][210]" 430 PRINT" [215]RITTEN BY [202].[198]INCH [211]EPT. 1988" 440 PRINT"[150] ![204]ET YOUR SPRITES BREAK FREE!" 450 PRINT"[159] [196]O YOU WISH TO RELOCATE CODE?" 460 PRINT"[154] [208]LEASE PRESS [217] OR [206]" 470 GETA$:IFA$="N"THENS=49152:GOTO570 480 IFA$<>"Y"THEN470 490 PRINT"[159] [197]NTER START ADDRESS:";:OPEN1,0:INPUT#1,A$:CLOSE1 500 S=VAL(A$):IF(S<0)OR(S>65535)OR(S>48800ANDS<49511)THENPRINT"[145][145][145]":GOTO490 510 SA=S:PRINT:PRINT"[145][159] [210]ELOCATING CODE AT[154]"SA 520 FORI=0TO315:POKESA+I,PEEK(49152+I):NEXT 530 FORI=1TO9:READPL,EX:E=SA+EX:EL=E-(256*INT(E/256)):EH=INT(E/256) 540 POKESA+PL,EL:POKESA+PL+1,EH:NEXT 550 DATA1,89,4,27,28,9,42,35,47,9,65,82,83,9,111,124,122,169 560 E=SA+223:POKESA+178,E-(256*INT(E/256)):POKESA+180,INT(E/256) 570 PRINT"[147][155] [194][207][210][196][197][210] [211][208][210][201][212][197][211] AND [211][208][210][201][212][197] [204][207][195][193][212][197][210]" 580 PRINT" [215]RITTEN BY [202].[198]INCH [211]EPT. 1988" 590 PRINT"[150] ![204]ET YOUR SPRITES BREAK FREE!" 600 PRINT" [201]MPORTANT INFORMATION:" 610 PRINT"[159] [195]ODE LIES BETWEEN[154]"S"[159]&[154]"S+315"[159]INCL." 620 PRINT"[154] [195][210][159] SHOULD BE SET TO[154]"S"[157][159]." 630 PRINT"[159] [210]OUTINE HAS BEEN INITIATED." 640 PRINT" [201]F YOU WISH TO SAVE THE CODE, PRESS" 650 PRINT"[154] [210][213][206]/[211][212][207][208][159] AND [154][210][197][211][212][207][210][197][159] AND THEN TYPE:" 660 PRINT"[154] [210][213][206] 5000" 670 A$="[145][210][197][193][196][217]":FORI=1TO6:POKE630+I,ASC(MID$(A$,I,1)):NEXT:POKE637,141:POKE198,7 680 END 1000 C=1:A=0:POKE53269,255 1010 A=A+1:IFA=20THENFORJ=0TO3:POKE53291+J,C:NEXT:C=12-C:A=0 1020 GETA$:IFA$<>CHR$(13)THEN1010 1030 POKE53269,0:RETURN 2000 POKE52,62:POKE56,62:CLR:POKE56334,PEEK(56334)AND254:POKE1,PEEK(1)AND251 2010 A$="PRESS[160]RETURN":X=0:FORI=0TO11:SN=248+INT(I/3) 2020 SA=SN*64+X:A=ASC(MID$(A$,I+1,1))-64+128:FORJ=1TO8 2030 POKESA+J*3,PEEK(53247+A*8+J):NEXT:FORJ=9TO20:POKESA+J*3,0:NEXT 2040 POKESA,255:X=X+1:IFX=3THENX=0 2050 NEXT 2060 POKE1,PEEK(1)OR4:POKE56334,PEEK(56334)OR1 2070 FORI=0TO63:A=0:IFI<27THENA=255 2080 POKE16128+I,A:NEXT 2090 LOAD"MCODE",8,1 5000 X=PEEK(53280)AND15:Y=PEEK(53281)AND15:IFX=14ANDY=6THEN5030 5010 PRINT"BEFORE SAVING CODE, INTERRUPTS MUST BE DISABLED - RESTORE THE SCREEN" 5020 END 5030 POKE53280,5:POKE53281,0 5040 PRINT"[147][155] [194][207][210][196][197][210] [211][208][210][201][212][197][211] AND [211][208][210][201][212][197] [204][207][195][193][212][197][210]" 5050 PRINT" [215]RITTEN BY [202].[198]INCH [211]EPT. 1988" 5060 PRINT"[150] ![204]ET YOUR SPRITES BREAK FREE!" 5070 PRINT," [205][193][195][200][201][206][197] [195][207][196][197] [211][193][214][197][210]" 5080 PRINT,"[159][211]AVE TO [154][196][146]ISK [159]OR [154][212][146]APE":DV=8:D$="[196][201][211][203]" 5090 GETA$:IFA$="T"THENDV=1:D$="[212][193][208][197]":GOTO5110 5100 IFA$<>"D"THEN5090 5110 PRINT,"[145] [159][211]AVING TO [154]"D$" " 5120 PRINT"[159] [197]NTER START ADDRESS:[154] ";:OPEN1,0:INPUT#1,A$:CLOSE1 5130 A=VAL(A$):IF(A<0ORA>65535)THENPRINT"[145][145][145][145]":GOTO5120 5140 PRINT:S=A:E=S+315:PRINT"[145] [159][211]TART ADDRESS:[154]"S"[157] " 5150 PRINT"[159] [197]ND ADDRESS: [154]"E:A$="BORD.SPR."+STR$(S) 5160 SYS49468 A$,DV,2,S,E+1 5170 PRINT"[147][154][142]CODE SAVED OK";:POKE53280,14:POKE53281,6:END 5160 SYS49468 A$,DV,2,S,E+1 5170 PRINT"[147] [142][154]CODE SAVED OK";:POKE53280,14:POKE53281,6:END